Rendering and sorting book search results as three dimensional icons

ABSTRACT

Illustrated is a system and method to prepare for display, within a Graphical User Interface (GUI), a subset selection pane, an icon and summary pane, and a sort pane. The system and method further to include to prepare for display, within the icon and summary pane, a result set that includes an icon representing a three dimensional book and a textual summary of the book. The system and method also includes enabling a screen object, within the subset selection pane, to receive input to select a subset of the result set to be displayed within the icon and summary pane. Further, the system and method includes enabling a screen object, within the sort pane, to receive input to select the subset of the result set to be sorted and displayed within the icon and summary pane.

BACKGROUND

A web page or webpage is a document or resource of information that issuitable for the World Wide Web and can be accessed through a webbrowser and displayed on a monitor or mobile device. This information isusually in Hyper Text Markup Language (HTML) or eXtensible MarkupLanguage (XML) format, and may provide navigation to other web pages viahypertext links. Web pages may be retrieved from a local computer orfrom a remote web server. The web server may publish pages on the WorldWide Web. Web pages are requested and served from web servers usingHypertext Transfer Protocol (HTTP).

The content of web pages may be rendered in a web browser statically,dynamically, or as a combination of both static and dynamic.Technologies that are used to render content in a static manner includethe aforementioned HTML and XML. Scripting languages such as JavaScript, and Visual Basic Script (VB Script) may be used in the renderingof dynamic content. Technologies such as Asynchronous JavaScript and XML(AJAX) may be used in rendering portions of an otherwise static web pagedynamically.

Web pages are used in the marketing of goods and services. One exampleway in which web pages are used in the marketing on goods and servicesis with respect to the sale of books. Web sites such as AMAZON.COM™,BOOKS.GOOGLE.COM™, BARNESANDNOBEL.COM™, and other retailers sell booksusing prior art web pages and one or more of the aforementionedtechnologies. For example, many of these sites display books for sale asa photographic image (e.g., a Joint Photographic Experts Group (JPEG)file, or a Tagged Image File Format (TIFF) file) of each book coverembedded into a web page. The web page may also include otherinformation related to the book such as price information, author, orthe number of pages of the book. These displayed books may be sortedlexigraphically, with all results displayed in a series of web pages.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the invention are described, by way of example, withrespect to the following figures:

FIG. 1 is a system, according to an example embodiment, for therealistic rendering and indexing of a book(s) in a web page.

FIG. 2 is a diagram of a book search Graphical User Interface (GUI),according to an example embodiment, used to realistically render andindex book(s) in a web page.

FIG. 3 is an exploded view of an example icon.

FIG. 4 is a diagram of a book search GUI, according to an exampleembodiment, used to realistically render and index book(s) in a web pagethat are sorted by title.

FIG. 5 is a diagram of a book search GUI, according to an exampleembodiment, used to realistically render and index book(s) in a web pagethat are sorted by author.

FIG. 6 is a diagram of a book search GUI, according to an exampleembodiment, used to realistically render and index book(s) in a web pagethat are sorted by year.

FIG. 7 is a diagram of a book search GUI, according to an exampleembodiment, used to realistically render and index book(s) in a webpagewhere each icon displays a plurality of books in a three-dimensional(3D) orientation.

FIG. 8 is a diagram of a book search GUI, according to an exampleembodiment, used to realistically render and index book(s) in a webpagewhere icons are used to illustrate a search result history.

FIG. 9 is a block diagram of a system, according to an exampleembodiment, used to realistically render a book on a web page throughproviding depth to an icon representing the book(s).

FIG. 10 is a diagram of a computer system, according to an exampleembodiment, that includes logic encoded as instructions on a computerreadable media that when executed by a processor associated with thecomputer system realistically renders a book on a web page throughproviding depth to an icon representing the book(s).

FIG. 11 is a flow chart illustrating a method, according to an exampleembodiment, executed to realistically renders a book on a web pagethrough providing depth to an icon representing the book(s).

FIG. 12 is a flow chart illustrating a method executed, according to anexample embodiment, to realistically render a book on a web page throughproviding depth to an icon representing the book(s).

FIG. 13 is a dual-stream flow chart illustrating a method, according toan example embodiment, to realistically render a book on a web pagethrough providing depth to an icon representing the book(s).

FIG. 14 is a flow chart illustrating a method, according to an exampleembodiment, that is executed to sort, index, and displayed book searchresults through re-indexing a sub-set of the search results using apredefined sort value.

FIG. 15 is a diagram of an example computer system.

DETAILED DESCRIPTION

Illustrated is a system and method for the realistic rendering andindexing of a book(s) in a web page. The realistic render of a bookincludes the rendering of a book in a web page in a manner that showsthe number of pages associated with the book. The realistic indexing ofa book includes the displaying of search results for a book in a mannerthat reflects a physical index, rather than a sorted search results.Through the use of realistic rendering and indexing of a book, a book isrendered in a manner that approximates the experience of viewing aphysical book or index for books.

In some example embodiments, an icon representing a book is displayed aspart of the web page. The icon represents the cover of the book and anapproximate thickness (i.e., depth) of the book based uponcharacteristics associated with the book. In contrast to theaforementioned web sites that use a two-dimensional photographic imageto represent a book, the icon captures the 3D aspects of a book with thethird dimension of depth based upon data relating to the physicalcharacteristics of the book. This data includes: number of pages in thebook, weight of paper associated with the book, type of paper associatedwith the book, color of the paper associated with the book, trim size ofthe book (i.e., the dimensions of the pages of the book), and aphotographic image of the cover of the book. Accordingly, the more pagesare associated with a book for sale on a web site that uses the systemand method shown herein, the greater the depth of the icon representingthe book.

In some example embodiments, book search results are sorted, indexed,and displayed through re-indexing a sub-set of the search results usinga predefined sort value. A database containing book summary data may besearched using a string(s). The result set of the search may be sortedlexigraphically. This lexigraphically sorted result set may be filteredthrough a re-sorting of a subset, the subset resorted and indexedaccording to a predefined sort value. For example, if the database issearched using the string “Sartre,” a result set is generated of allbooks that include the word “Sartre.” This result set may be filtered byonly selecting books where “Sartre” is the author so as to generate asub-set of the result set, the subset including only books that haveSartre as the author. This subset can be sorted lexigraphically.

FIG. 1 is an example system 100 for the realistic rendering and indexingof a book(s) in a web page. Shown is a user 101 who uses one or more ofthe devices 102 to generate a search request 108. The devices 102include a cell phone 103, compute 104, network enabled television 105,or smart phone 106. One or more of these devices 102 may be a hostdevice. Using a book search GUI 107 that is generated by one or more ofthe devices 102, the user 101 generates the search request 108 and thissearch request 108 is transmitted across the network 109 by one of thedevices 102. The search request 108 may include a string value that isto be used to identify a book(s). Operatively connected to the network109 is a web server 110 to serve up web pages that include book searchresults. To generate the book search results 114, a query (e.g., aStructured Language Query (SQL)) may be set to a database server 111.The database server 111 may retrieve book data from a database 112, andbook summary data from a data base 113. Using the data retrieved fromthe book data database 112, and the book summary data database 113, thisdata is returned to the database server 111. Included within the bookdimension data database 112 is data used to capture the depth dimensionof the book to be used or rendering purposes. Included in the booksummary data database 113 are summaries of each book, the summarywritten for the user 101. In some example embodiments, the data issorted lexigraphically by the database server 111. The database server111 provides the data to the web server 110, where this data isformatted and inserted into a web page that is provided to one of thedevices 102 for display or rendering within the book search GUI 107.This web page is referenced herein as a book search results 114.

FIG. 2 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a web page. Shown is a textbox 201 into which are entered search terms denoting terms in a book forwhich a search is to be conducted. Here the string “Sartre” is provided.Also shown is a screen object 202 that is used to receive input via agraphical pointer 210. The graphical pointer 210 may be manipulated viaan input device such as a mouse, touch pad, touch screen, microphone,light pen, keyboard, or other suitable input device. In some exampleembodiments, the user 101 interacts with the book search GUI 107 througha means that expresses the intent of the user 101, where this meansincludes a touch gesture, motion tracking, or voice recognition. Thescreen objects referenced herein receive input from the input device viathe graphical pointer 210. This screen object 202 may be a button, radiobutton, check box, or other suitable screen object. Also shown arefields 203, 204, and 205 that make up portions of the webpage renderedin the book search GUI 107. Included in the field 203 (i.e., a sortpane) is a screen object 208 that is used to sort the result set that isgenerated using the string. Here the screen object 208 is a check boxthat is selected to identify “authors” associated with the result set.The subset is displayed in field 204 (i.e., an icon and summary pane)and includes an icon 206 and a summary 207. The icon 206 is generatedusing the book data from the book data database 112. The summary 207 isgenerated from data retrieved from the book summary data database 113.Also shown is screen object 209 that is rendered within the field 205(i.e., a subset selection pane). This screen object 209 is part of aseries of screen objects used to select and display a portion of thelexigraphically sorted subset of the result set. Here, search resultsfrom the result set are displayed that lexigraphically fall betweenstrings starting with “NU,” and strings starting with “SH.”

FIG. 3 is an exploded view of the example icon 206. Shown is the front301 of the icon 206 illustrating the height and width dimensions. Thisfront 301 corresponds to the cover of a book, and the trim sizeassociated therewith. Also shown is a side 302 of the icon 206illustrating the depth dimension. The side 302 corresponds to the sideof the book as defined by data relating to the physical characteristicsof the book. The method to calculate this side 302 is illustrated below.

FIG. 4 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a web page that are sorted bytitle. Shown is the book search GUI 107 that is divided into portions ofthe webpage rendered in the book search GUI 107. Illustrated is thefield 403 that acts as a sort pane. Included in the field 403 is ascreen object that may be selected through the use of the graphicalpointer 408 to sort the result set that is generated using the searchstring. Also included in the field 403 is a text box 401 into which isentered a search string denoting terms in a book for which a search isto be conducted. These terms may be associated with a book (i.e., textgenerally appearing in a book), author of a book, title of a book, orkeywords (i.e., stored metadata related to the book). Also shown is ascreen object 402 that is used to receive input via a graphical pointer408. A field 404 is shown that acts as an icon and summary pane.Further, a field 405 is illustrated that includes the subset selectionpane. Included within the field 405 is a screen object 409 that denotespart of a series of screen objects used to select and display a portionof the lexigraphically sorted subset of the result set. Each searchobject in the field 405 may correspond to a distinct webpage. Further, afield 406 is illustrated that includes a text box 407 into which isentered a search string. Here the string “Darwin” is provided. Thissearch string may be entered using the graphical pointer 408.

FIG. 5 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a web page that are sorted byauthor. Shown is the field 403 where a search object 501 has beenselected using the graphical pointer 408. Where this search object 501is selected, the result set displayed in the field 404 are sorted byauthor, as opposed to title. (See FIG. 4.) Screen object 502 isdisplayed in the field 405 to reflect the result set sorted by author,where the author of the first book in the result set has the last nameof “Allen.” Allen is the first entry in the field 404 (i.e., the iconand summary pane) for the first webpage. Daniels is the first entry inthe field 404 for the second webpage that appears as part of the resultset.

FIG. 6 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a web page that are sorted byyear. Shown is a screen object 601 that is selected using the graphicalpointer 408 to sort a result set by year. This screen object 601 appearsas part of the field 403. Also shown is a screen object 602 that denotesthe year(s) of publication for a result set sorted year. Here, the firstentry in a webpage having the result set sorted by year is 1804. Eachscreen object subsequent to the screen object 602 denotes the firstentry in a webpage that includes portions of the result set.

FIG. 7 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a webpage where each icondisplays a plurality of books in a 3D orientation. Each icon isillustrated as residing within the field 404. Shown is an icon 701illustrating a plurality of books displayed in an offset manner. Thisoffset may include the total number of books available for sale, thenumber of editions of the book available for sale, the number oflanguages of the book available for sale, the number of volumesavailable for sale, or some other representation of a plurality ofbooks. Also shown is an icon 702 illustrating a spine view of aplurality of 3D books. This spine view may include the total number ofbooks available for sale, the number of editions of the book availablefor sale, the number of language versions of the book available forsale, the number of volumes of the book available for sale, or someother representation of a plurality of books. As illustrated at 703, aplurality of two dimensional books may be shown at 705. Where one of thetwo dimensional books receives the focus of a graphical pointer 704, anexploded 3D view of a book is provided as illustrated at 706. Thisexploded view may be generated via a popup window, or through some othersuitable method. The icons illustrated at 701-703 may be implementedseparately or in combination to illustrate books that are part of aresult set.

FIG. 8 is a diagram of an example book search GUI 107 used torealistically render and index book(s) in a webpage where icons are usedto illustrate a search result history. A search history field 801 isshown that includes a search summary 802 and search history icon 803.The search history icon 803 illustrates the history of search in theform of an illustrated result set. This illustrated result set may takethe form of a spine view of a plurality of 3D books that make up aresult set. Each book in the result set may be accessed using thegraphical pointer 804, and displayed in the field 404.

FIG. 9 is a block diagram of a system 900 used to realistically render abook on a web page through providing depth to an icon representing thebook(s). The blocks may be implemented in hardware, firmware, orsoftware. These blocks may be operatively connected via a logical orphysical connection. The web server 110 is an example of the system 900.Shown is a Central Processing Unit (CPU) 901 that is operativelyconnected to a memory 902. Operatively connected to the CPU 901 is adisplay module 903 to preparing for display within a GUI, a subsetselection pane, an icon and summary pane, and a sort pane. Operativelyconnected to the CPU 901 is a icon and summary module 904 to preparingfor display, within the icon and summary pane, a result set thatincludes an icon representing a three dimensional book and a textualsummary of the book. Operatively connected to the CPU 901 is a scriptmodule 905 to enable a screen object, within the subset selection pane,to receive input to select a subset of the result set to be displayedwithin the icon and summary pane. Operatively connected to the CPU 901is a sorting enablement engine 906 to enable a screen object, within thesort pane, to receive input to select the subset of the result set to besorted and displayed within the icon and summary pane. Operativelyconnected to the CPU 901 is an icon building module 907 to build an iconthrough setting a photographic image, representing a cover of the book,based upon a trim value, the trim value denoting the height and width ofthe icon as displayed in the icon and summary pane. Additionally, theicon building module is executed to set a depth dimension of the icon,representing the number of pages of the book, as displayed in the iconand summary pane. Operatively connected to the CPU 901 is a color module908 to set a color of the depth dimension of the icon based upon thecolor of the pages of the book. Operatively connected to the CPU 901 isa depth module 909 to set the depth dimension of the icon based upon aweight of paper used in the number of pages of the book. Operativelyconnected to the CPU 901 is a sorting module 910 to lexigraphicallysorting the result set, or a subset of the result set. In some exampleembodiments, the preparing for display includes generating a web page tobe rendered within the GUI, the web page, when rendered, to include theselection pane, the icon and summary pane, and the sort pane.

FIG. 10 is a diagram of a computer system 1000 that includes logicencoded as instructions on a computer readable media that when executedby a processor associated with the computer system 1000 realisticallyrenders a book on a web page through providing depth to an iconrepresenting the book(s). Shown is a CPU 1001 operatively connected tocomputer readable media (or medium) 1002. The instructions when executedmay generate for display, within a GUI, a web page that includes asubset selection pane, an icon and summary pane, and a sort pane.Further, the instructions when executed may generate for display, withinthe icon and summary pane, the web page to further include a result setthat includes an icon representing a three dimensional book and atextual summary of the book. Additionally, the instructions whenexecuted may enable a screen object, within the subset selection pane,to receive input to select a subset of the result set to be displayedwithin the icon and summary pane. Further, the instructions, whenexecuted, may enable a screen object, within the sort pane, to receiveinput to select the subset of the result set to be sorted and displayedwithin the icon and summary pane. Additionally, the instructions, whenexecuted, may set a photographic image, representing a cover of thebook, based upon a trim value, the trim value denoting the height andwidth of the icon as displayed in the icon and summary pane. Theinstructions, when executed, may set a depth dimension of the icon,representing the number of pages of the book, as displayed in the iconand summary pane. The instructions may also be executed to set a colorof the depth dimension of the icon based upon the color of the pages ofthe book. The instructions may further be executed to set the depthdimension of the icon based upon a weight of paper used in the number ofpages of the book. Additionally, the instructions may be executed tolexigraphically sort the result set, or the subset of the result set.

FIG. 11 is a flow chart illustrating an example method 1100 executed torealistically renders a book on a web page through providing depth to anicon representing the book(s). This method 1100 may be executed by thedata base server 111 or web server 110. Operation 1101 is executed bythe display module 903 to prepare for display, within a GUI, a subsetselection pane, an icon and summary pane, and a sort pane. Operation1102 is executed by the icon and summary module 904 to display, withinthe icon and summary pane, a result set that includes an iconrepresenting a three dimensional book and a textual summary of the book.Operation 1103 is executed by the script module 905 to enable a screenobject, within the subset selection pane, to receive input to select asubset of the result set to be displayed within the icon and summarypane. Operation 1104 is executed by the sorting enablement engine 906 toenable a screen object, within the sort pane, to receive input to selectthe subset of the result set to be sorted and displayed within the iconand summary pane. Operation 1105 is executed by the icon building engine907 to building the icon through setting a photographic image,representing a cover of the book, based upon a trim value, the trimvalue denoting the height and width of the icon as displayed in the iconand summary pane. Additionally, the operation 1105 is executed by theicon and building engine 907 to set a depth dimension of the icon,representing the number of pages of the book, as displayed in the iconand summary pane. Operation 1106 is executed by the color module 908 toset a color of the depth dimension of the icon based upon the color ofthe pages of the book. Operation 1107 is executed by the depth module909 to set the depth dimension of the icon based upon a weight of paperused in the number of pages of the book. Operation 1108 is executed bythe sorting module 910 to lexigraphically sorting the result set, or asubset of the result set. In some example embodiments, preparing fordisplay includes generating a web page to be rendered within the GUI,the web page, when rendered, to include the selection pane, the icon andsummary pane, and the sort pane.

FIG. 12 is a flow chart illustrating an example method 1200 torealistically render a book on a web page through providing depth to anicon representing the book(s). This method 1200 may be executed by thedatabase server 111. In some example embodiments, some portion of theoperations shown as part of method 1200 may be executed by a clientdevices such as the devices 102. Shown is an operation 1201 that isexecuted to get data related to the physical characteristics of thebook. This data may be the number of pages in the book, weight of paperassociated with the book, type of paper associated with the book, colorof the paper associated with the book, trim size of the book (i.e., thedimensions of the pages of the book), and/or a photographic image of thecover of the book. Specifically, the number of pages may be an integervalue representing the number of pages of the book. The weight of papermay be understood as a float value representing the grams per squaremeter of paper (g/m²). This weight of the paper generally corresponds tothe thickness of the paper such that the higher the weight, the thickerthe paper. The type of paper may be understood as a character valuerepresenting the coarseness of the paper grain. The color of the papermay be understood as a hexadecimal value representing the color of thepaper as rendered in a web page. The trim size may be understood asfloat values representing the height of the width of the pages of thebook. The photographic image may be understood as a Binary Large Object(BLOB) representing the cover of the book.

Operation 1202 is executed to set the cover photographic imagedimensions of the icon based upon trim size. Specifically, throughexecuting operation 1202 the photographic image of the book cover may beadjusted to match the relative trim size of the book. Relative trimsize, as used herein, means the trim size of the book relative to othericons representing other books to be rendered in a web page. Forexample, if the trim size of a first book is 4 cm×3 cm, and the trimsize of a second book is 5 cm×4 cm, the photographic image of the firstbook will be adjusted to appear smaller than the photographic image ofthe second book in the rendered web page. In some cases pixel values aremapped to each square centimeter that makes up the trim size of a book,and this mapping is used in determining the relative trim size values.Specifically, the pixel values and the trim size are proportional suchthat they vary in such a way that one is a constant multiple of theother, or equivalently they have a constant ratio. In some exampleembodiments, this ratio is maintained using a linear function that maps,each square centimeter that makes up the trim size of a book, to pixelvalues representing the book. Further, in some example embodiments, alogarithmic function is used in this mapping such that a maximum pixelarea is determined.

Operation 1203 is executed to set the depth dimension of the icon basedupon the number of pages for the book. The pages associated with a bookare displayed as part of the icon. The depth attributed to the iconusing the pages is based, in part, upon the number of pages associatedwith the book. In one example embodiment, each page has a predefinedvalue associated with it for the purpose of expressing depth using theicon. The predefined value is applied to all icons for all books thatare rendered via icons in a web page. For example, it may bepredetermined that a page takes up an area of 20 square pixels such thatthe depth of the icon representing a 100 page book takes up an area of2000 square pixels.

Operation 1204 is executed to set a depth dimension of the icon basedupon the thickness of paper in the physical copy of the book. The depthattributed to the icon via the number of pages may be modified by thethickness of the paper used in each page of the book. For example, abaseline weight or thickness of the paper may be set, this base linerepresented in terms of pixel values (e.g., 2 pixel values). A pixelvalue may be mapped to the weight of the paper. This base line may bemodified such that if the weight of the paper is higher that thebaseline (e.g., 3 pixels values as opposed to 2 pixel values), then thepixel area of each page used to provide depth to the icon is increased.Further, if the pixel value of the weight is less than a baselineweight, then the pixel area of each page used to provide the depth tothe icon is decreased.

Operation 1205 is executed to set the color of the depth dimension ofthe icon based upon the color of the pages of the physical book. Using ahexadecimal value (i.e., web colors) the depth of the icon can becolored to reflect to the color of the physical pages of the book. Forexample, #FFFFFF represents the color white. In some exampleembodiments, shadowing is used to generate the effect of depth ratherthan a color of the physical pages of the book.

Operation 1206 is executed to set the depth dimension of the icon basedupon the type of paper used in the physical book. As stated above, typeof paper may be understood as a character value representing thecoarseness of the paper grain. For example, a character value of “a,”“b,” “c,” and “d” may be used to represent a spectrum of more or lesscoarse paper that may be represented via more or less shading associatedwith the pixel area being used to represent the depth of the icon.

Operation 1207 is executed to insert the set values from operations1202-1206 into the web page. In some example cases, only operations1201-1203 are executed prior to the execution of the operation 1207. Insome example embodiments, operation 1207 is executed to generate HTML orXML code that includes the set values, and the necessary scriptinglanguage for rendering these set values in a web page. This HTML or XMLcode may be executed using the book search GUI 107.

Decision operation 1208 is executed to determine whether a next bookexists in a search result for which data need to be gotten and set. Incases where decision operation 1208 evaluates to “true,” operation 1201is re-executed. In cases where decision operation 1208 evaluates to“false,” a termination operation 1209 is executed.

FIG. 13 is a dual-stream flow chart illustrating an example method 1300to realistically render a book on a web page through providing depth toan icon representing the book(s). Operations 1301-1306 may be executedby the database server 111. Operations 1307-1309 may be executed by theweb server 110, or a host device such as one of the devices 102. Shownis an operation 1301 that is executed to get data related to thephysical characteristics of the book. Operation 1302 is executed todetermine the physical width and height of the book based upon the trimsize. For example, a book may be 200 mm wide and 250 mm high. Operation1303 is executed to determine the physical depth of the book based uponthe number of pages and the thickness of paper used in the physicalbook. For example, if the book has 100 pages, and each page is 0.1 mmthick, then the depth is 10 mm. Operation 1304 is executed to select arendering style for the book based on the title, author, cover image,the collection, volume, language, category, and other information aboutthe book. For example, in one example embodiment, the cover image issimply used without modification. In another example embodiment, a coveris generated using the title and author, with colored stripes toindicate relevant categories, a number to show the volume, and a coloredborder to indicate the collection. Operation 1305 is executed to selecta rendering style for the book pages based on the type of paper used forthe physical book and the presentation style. For example, we mightchoose to show the edges of the pages directly, rendering a perspectiveview of the 3D book and with their color and texture chosen to match theoriginal book pages. Or we might choose to render the book lookingstraight down on the front cover, so that the book depth is shown onlyby the shadow cast by the book. Operation 1306 is executed to encode therendering styles and physical dimensions into the search results.

Operation 1307 is executed to convert the physical dimensions of thebook (i.e., width, height, and depth) to screen pixels. In one exampleembodiment, this conversion is done with linear functions. For example,if the book is 200 mm×250 mm, we could use a constant ⅕ to render as 40pixels×50 pixels. If the book has a depth of 10 mm, we could use aconstant factor of ½ to render a shadow that extends 5 pixels wide. Inother example embodiments, more sophisticated transformations may beemployed (e.g., perspective, orthographic, or isometric). Further, insome example embodiments, non-linear functions are used so thatunusually small books remain large enough to be visible, while unusuallylarge books don't consume too much screen area. Operation 1308 isexecuted to render the book using the rendering style and computedscreen pixels. Decision operation 1309 is executed to determine whethera next book exists in the search result (i.e., the result set). In caseswhere decision operation 1309 evaluates to “true,” the operation 1301 isre-executed. In cases where decision operation 1309 evaluates to“false,” a termination condition is executed.

FIG. 14 is a flow chart illustrating an example method 1400 that isexecuted to sort, indexed, and displayed book search results throughre-indexing a sub-set of the search results using a predefined sortvalue. This method 1400 may be executed by the database server 111.Operation 1401 is executed to receive a search result set. This searchresult set may be received in response to a SQL query. Operation 1402may be executed to lexigraphically sort the search result set. Decisionoperation 1403 may be executed to determine whether a subset of theresult set has been identified and not sorted. Identification of thesubset may be performed using one or more of the screen objects in thefield 203. In some example embodiments, a flag value in memory is setfor the result set where a sub set of the result set has be sorted. Incases where decision operation 1403 evaluates to “false,” a furtherdecision operation 1404 is executed. In cases where decision operation1403 evaluates to “true,” the operation 1402 is executed. Decisionoperation 1404 determines whether a portion of the lexigraphicallysorted set has been identified. Identification may take the form ofselecting a screen object from the field 205. In cases where decisionoperation 1404 evaluates to “true,” operation 1405 is executed. In caseswhere decision operation 1404 evaluates to “false,” operation 1406 isexecuted. Operation 1405 is executed to get a portion of thelexigraphically sorted subset. This portion as determined by theselected screen object from field 205. Operation 1406 is executed toorganize icon and summary information and insert this icon and summaryinformation into the search results as part of the book search results114.

FIG. 15 is a diagram of an example computer system 1500. Shown is a CPU1501. The processor die 201 may be a CPU 1501. In some exampleembodiments, a plurality of CPU may be implemented on the computersystem 1500 in the form of a plurality of core (e.g., a multi-corecomputer system), or in some other suitable configuration. Some exampleCPUs include the x86 series CPU. Operatively connected to the CPU 1501is Static Random Access Memory (SRAM) 1502. Operatively connectedincludes a physical or logical connection such as, for example, a pointto point connection, an optical connection, a bus connection or someother suitable connection. A North Bridge 1504 is shown, also known as aMemory Controller Hub (MCH), or an Integrated Memory Controller (IMC),that handles communication between the CPU and PCIe, Dynamic RandomAccess Memory (DRAM), and the South Bridge. An ethernet port 1505 isshown that is operatively connected to the North Bridge 1504. A DigitalVisual Interface (DVI) port 1507 is shown that is operatively connectedto the North Bridge 1504. Additionally, an analog Video Graphics Array(VGA) port 1506 is shown that is operatively connected to the NorthBridge 1504. Connecting the North Bridge 1504 and the South Bridge 1511is a point to point link 1509. In some example embodiments, the point topoint link 1509 is replaced with one of the above referenced physical orlogical connections. A South Bridge 1511, also known as an I/OController Hub (ICH) or a Platform Controller Hub (PCH), is alsoillustrated. A PCIe port 1503 is shown that provides a computerexpansion port for connection to graphics cards and associated GPUs.Operatively connected to the South Bridge 1511 are a High Definition(HD) audio port 1508, boot RAM port 1512, PCI port 1510, UniversalSerial Bus (USB) port 1513, a port for a Serial Advanced TechnologyAttachment (SATA) 1514, and a port for a Low Pin Count (LPC) bus 1515.Operatively connected to the South Bridge 1511 is a Super Input/Output(I/O) controller 1516 to provide an interface for low-bandwidth devices(e.g., keyboard, mouse, serial ports, parallel ports, disk controllers).Operatively connected to the Super I/O controller 1516 is a parallelport 1517, and a serial port 1518.

The SATA port 1514 may interface with a persistent storage medium (e.g.,an optical storage devices, or magnetic storage device) that includes amachine-readable medium on which is stored one or more sets ofinstructions and data structures (e.g., software) embodying or utilizedby any one or more of the methodologies or functions illustrated herein.The software may also reside, completely or at least partially, withinthe SRAM 1502 and/or within the CPU 1501 during execution thereof by thecomputer system 1500. The instructions may further be transmitted orreceived over the 10/100/1000 ethernet port 1505, USB port 1513 or someother suitable port illustrated herein.

In some example embodiments, a removable physical storage medium isshown to be a single medium, and the term “machine-readable medium”should be taken to include a single medium or multiple medium (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” shall also be taken to include any medium thatis capable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any ofthe one or more of the methodologies illustrated herein. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, solid-state memories, optical and magnetic medium, andcarrier wave signals.

In some example embodiments, the methods illustrated herein are storedin respective storage devices, which are implemented as one or morecomputer-readable or computer-usable storage media or mediums. Thestorage media include different forms of memory including semiconductormemory devices such as DRAM, or SRAM, Phase Change RAM (PCRAM),Memristor, Erasable and Programmable Read-Only Memories (EPROMs),Electrically Erasable and Programmable Read-Only Memories (EEPROMs) andflash memories; magnetic disks such as fixed, floppy and removabledisks; other magnetic media including tape; and optical media such asCompact Disks (CDs) or Digital Versatile Disks (DVDs). Note that theinstructions of the software discussed above can be provided on onecomputer-readable or computer-usable storage medium, or alternatively,can be provided on multiple computer-readable or computer-usable storagemedia distributed in a large system having possibly plural nodes. Suchcomputer-readable or computer-usable storage medium or media is (are)considered to be part of an article (or article of manufacture). Anarticle or article of manufacture can refer to any manufactured singlecomponent or multiple components.

In the foregoing description, numerous details are set forth to providean understanding of the present invention. However, it will beunderstood by those skilled in the art that the present invention may bepracticed without these details. While the invention has been disclosedwith respect to a limited number of embodiments, those skilled in theart will appreciate numerous modifications and variations therefrom. Itis intended that the appended claims cover such modifications andvariations as fall within the “true” spirit and scope of the invention.

1. A computer implemented method comprising: preparing for display,within a Graphical User Interface (GUI), a subset selection pane, anicon and summary pane, and a sort pane; preparing for display, withinthe icon and summary pane, a result set that includes an iconrepresenting a three dimensional book and a textual summary of the book;enabling a screen object, within the subset selection pane, to receiveinput to select a subset of the result set to be displayed within theicon and summary pane; and enabling a screen object, within the sortpane, to receive input to select the subset of the result set to besorted and displayed within the icon and summary pane.
 2. The computerimplemented method of claim 1, further comprising building the iconthrough: setting a photographic image, representing a cover of the book,based upon a trim value, the trim value denoting the height and width ofthe icon as displayed in the icon and summary pane; and setting a depthdimension of the icon, representing the number of pages of the book, asdisplayed in the icon and summary pane.
 3. The computer implementedmethod of claim 2, further comprising setting a color of the depthdimension of the icon based upon the color of the pages of the book. 4.The computer implemented method of claim 2, further comprising settingthe depth dimension of the icon based upon a weight of paper used in thenumber of pages of the book.
 5. The computer implemented method of claim1, further comprising lexigraphically sorting the result set.
 6. Thecomputer implemented method of claim 1, further comprisinglexigraphically sorting the subset of the result set.
 7. The computerimplemented method of claim 1, wherein the preparing for displayincludes generating a web page to be rendered within the GUI, the webpage, when rendered, to include the selection pane, the icon and summarypane, and the sort pane.
 8. A computer system comprising: at least oneprocessor; a memory in communication with the at least one processor,the memory including logic encoded in one or more tangible media forexecution and when executed operable to: generate for display, within aGraphical User Interface (GUI), a web page that includes a subsetselection pane, an icon and summary pane, and a sort pane; generate fordisplay, within the icon and summary pane, the web page to furtherinclude a result set that includes an icon representing a threedimensional book and a textual summary of the book; enable a screenobject, within the subset selection pane, to receive input to select asubset of the result set to be displayed within the icon and summarypane; and enable a screen object, within the sort pane, to receive inputto select the subset of the result set to be sorted and displayed withinthe icon and summary pane.
 9. The computer system of claim 8, furthercomprising the memory in communication with the at least one processor,the memory including logic encoded in one or more tangible media forexecution and when executed operable to build the icon through: settinga photographic image, representing a cover of the book, based upon atrim value, the trim value denoting the height and width of the icon asdisplayed in the icon and summary pane; and setting a depth dimension ofthe icon, representing the number of pages of the book, as displayed inthe icon and summary pane.
 10. The computer system of claim 9, furthercomprising the memory in communication with the at least one processor,the memory including logic encoded in one or more tangible media forexecution and when executed operable to set a color of the depthdimension of the icon based upon the color of the pages of the book. 11.The computer system of claim 9, further comprising the memory incommunication with the at least one processor, the memory includinglogic encoded in one or more tangible media for execution and whenexecuted operable to set the depth dimension of the icon based upon aweight of paper used in the number of pages of the book.
 12. Thecomputer system of claim 8, further comprising the memory incommunication with the at least one processor, the memory includinglogic encoded in one or more tangible media for execution and whenexecuted operable to lexigraphically sort the result set.
 13. Thecomputer system of claim 8, further comprising the memory incommunication with the at least one processor, the memory includinglogic encoded in one or more tangible media for execution and whenexecuted operable to lexigraphically sort the subset of the result set.14. An apparatus comprising: a receiver to receive a search request forat least one physical book, the physical book to be represented within aGraphical User Interface (GUI) as a three dimensional icon; a querygeneration module to generate a database query that uses the searchrequest; a search result module that receives and sorts a result setthat includes the at least one physical book, the result set received asa result of the database query; an icon module to build the threedimensional icon through a use of height, width and page data associatedwith the at least one physical book included in the result set; a webpage module to build a web page, that includes the three dimensionalicon, for display in the GUI.
 15. The apparatus of claim 14, wherein thesearch request includes information related to the physical book, theinformation including at least one of author information, titleinformation, or publication date information.
 16. The apparatus of claim14, further comprising a host device operatively connected to theapparatus, the host device to include: a sorting module to sort a subsetof the result set; and a display to display the web page with the GUI.17. The apparatus of claim 14, wherein the icon module builds the threedimensional icon through the use of at least one of a number of pages ofthe physical book, a thickness of the paper of the physical book, acolor of paper associated with the physical book, or the type of paperassociated with the physical book.
 18. The apparatus of claim 14,wherein the web page is stored on a web server operatively connected tothe apparatus.
 19. The apparatus of claim 14, further comprising asummary module to retrieve book summary data associated with thephysical book, the physical book summary data to be displayed in theGUI.
 20. The apparatus of claim 14, wherein the three dimensional iconis proportional to the height, width, and depth of the physical book.